Micron Document
Livres et Wikis | Archives | Info


Module (programmation)
layout: Wide · Narrow · Centered
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Un module désigne originellement un fichier de code de programmation ou
un fichier de bibliothèque statique ou dynamique.

Pour reprendre l'image de la programmation objet, un module est une
instance unique qui n'utilise pas d'héritage et ne contient aucun module
fils. Chaque module peut exporter ou importer certains symboles comme
des variables, des fonctions ou des classes. Les modules peuvent se
regrouper en package (espace de noms) éventuellement hiérarchique.

Dans l'histoire de la programmation, la programmation modulaire succède
à la programmation procédurale et donnera naissance à la

Quand on parle de programmation modulaire on parle du C qui a utilisé,
en premier lieu, ce principe pour scinder la compilation de projet. Dans
ce cas, un module est identifié par un fichier de déclaration (en-têtes
ou prototypes) et un fichier de description (définition ou code). On
n'est plus obligé de recompiler l'ensemble d'un programme lorsque seuls
quelques modules sont modifiés. Les fonctions et variables déclarées
dans le fichier de déclaration sont publiques et peuvent être utilisées
par n'importe quel autre module, il s'agit de l'interface du modulecite-ref-1[1].
Les fonctions et variables déclarées dans le fichier de description sont
privées et ne peuvent être utilisées que par ce module particulier.

En Java, on n'utilise généralement pas le terme de module, mais certains
compilateurs permettent de déclarer plusieurs classes successives (sans
imbrication) dans un même fichier. On peut alors considérer un fichier
de code Java comme un module contenant un ensemble de classes.

En Python, chaque fichier peut être considéré comme un module à partir
du moment où le fichier l'important se trouve dans le même répertoire
que le module, autrement il sera impossible de l'importer.

Les langages Modula et Ada sont typiquement modulaires avec des
instructions pour la gestion des modules. Le langage C/C++ est modulaire
mais les instructions pour la gestion des modules se retrouvent dans un
langage de prétraitement (dédié au préprocesseur). Le langage
Objective Caml, qui repose essentiellement sur la programmation
fonctionnelle et modulaire, propose un système de modules récursifs et
paramétrables très puissant qui permet de fournir une grande généricité
au code.

Notes et références

cite-note-11. ↑ La programmation objet en Java: Cours et exercices corrigés, Michel Divay, Dunod, 2006

• Portail de l’informatique